package com.huffman.smart_picture.service;

import com.huffman.smart_picture.domain.entity.User;
import com.baomidou.mybatisplus.extension.service.IService;
import com.huffman.smart_picture.domain.request.user.UserLoginRequest;
import com.huffman.smart_picture.domain.request.user.UserRegisterRequest;
import com.huffman.smart_picture.domain.vo.manage.DashboardUserRatioVo;
import com.huffman.smart_picture.domain.vo.user.UserVo;

/**
 * @author DengLin
 * @description 针对表【user】的数据库操作Service
 * @createDate 2024-06-27 16:52:38
 */
public interface UserService extends IService<User> {
    void register(UserRegisterRequest userRegisterRequest);

    UserVo login(UserLoginRequest userLoginRequest);

    String encryptPassword(String password);

    /**
     * 封用户
     * @param id
     * @return
     */
    boolean banUser(Long id);

    /**
     * 解封用户
     * @param id
     * @return
     */
    boolean unbanUser(Long id);

    DashboardUserRatioVo vipAndNonVipCount();
}
